package com.kedacom.ctsp.authz.oauth2.client;

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;

/**
 * OAuth2配置类
 * <p>
 * oauth2.0提供了四种授权模式，开发者可以根据自己的业务情况自由选择。
 * <p>
 * 授权码授权模式（Authorization Code Grant）
 * 隐式授权模式（Implicit Grant）
 * 密码授权模式（Resource Owner Password Credentials Grant）
 * 客户端凭证授权模式（Client Credentials Grant）
 *
 * @author xuwei
 * @create 2018-05-10 15:49
 * @url https://oauth.net/2/
 **/
@ConfigurationProperties(prefix = "commons.oauth2.client")
@Data
public class OAuth2ClientProperties {
    /**
     * 申请code 地址
     */
    private String serverUri;
    /***
     * 返回code 地址
     */
    private String clientUri;
    /**
     * 返回类型 oauth2.0 请求code的模式
     */
    private String responseType = "code";
    /**
     * 权限范围, 例如: 超级管理员、普通警员. 进一步限制权限
     */
    private String scope = "scope";
    /**
     * 客户端id
     */
    private String clientId;
    /**
     * 客户端密钥
     */
    private String clientSecret;
    /**
     * 授权类型 oauth2.0 请求accessToken的模式
     */
    private String grantType;

    private String cookiePath = "/";

    private String homeUri = "/";

    private String ssoLogoutUri = "/access_token/logout";

}
